Universal, asynchronous transmitter/receivers (UARTs) are interface circuits, generally in the form of integrated circuit chips, which are disposed between a data providing circuit, such as, for example, a personal computer (PC) and a modem to provide parallel-to-serial and serial-to-parallel data conversion. Although UARTs can be stand-alone devices, they also can be incorporated into the communication port of a more complex integrated circuit chip. UARTs generally include an oscillator and a crystal to synchronize data conversion with a fairly precise oscillator frequency, which facilitates asynchronous communication between two remotely disposed UARTs. The purpose for having a crystal controlled oscillator is to ensure that the frequency of a specific UART is within a defined limit specified for UART operation. The use of an on-chip free-running oscillator, built entirely of integrated components, e.g. transistors, resistors, capacitors, inductors, etc., but no crystal, will typically not be acceptable due to temperature drift, manufacturing tolerances, supply voltage variation, etc. On the other hand, crystals are typically external devices, thus requiring a more complex external assembly.
A typical two-terminal integrated resistor consists of a series connection of three parts: a desired “pure” resistor part which is typically well-controlled during manufacturing, and two undesired parasitic “end” resistor parts, one on each side, which are typically very poorly controlled during manufacturing. For maximum precision with respect to temperature coefficient, the resistor network topology must be designed to maximize the contribution from the desired pure parts of the resistors and to minimize the contributions from the undesired parasitic end parts.
Moreover, digitally programming the resistor values requires the addition of transistor switches to the network. When turned on, a transistor used as a switch has an unwanted series on-resistance associated with it, which suffers from a high, nonlinear, and poorly-controlled temperature coefficient. When turned off, the transistor switch exhibits a sub-threshold leakage current which is very temperature and manufacturing dependent. These sub-threshold leakage currents are especially problematic in modern submicron CMOS processes, e.g. 0.18 micron processes. Unfortunately, there exists a fundamental physical trade off between on-resistance and sub-threshold leakage which cannot be avoided by simply changing the size of the transistor: making the sub-threshold leakage smaller makes the on-resistance larger, and vice versa. As a result of both on-resistance and sub-threshold leakage, the use of transistor switches within programmable resistor arrays destroys the otherwise very low, linear, and well-controlled temperature coefficient of the pure resistors themselves—unless special techniques are included to prevent this from happening. When the temperature coefficients of the resistors in the voltage reference circuit are degraded, so too is the temperature coefficient of the overall oscillator circuit, resulting in poor frequency stability of the oscillator. Thus, a programmable resistor array including the ability to digitally program temperature coefficients and the ability to control and minimize the effects of end resistances, switch on-resistances, and sub-threshold leakage currents, would be of great benefit.